home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Champak 25
/
Volume 25 - JOGO DISK .iso
/
Games
/
the_jewel_hunter.swf
/
scripts
/
Player_Bike.as
< prev
next >
Wrap
Text File
|
2006-06-13
|
6KB
|
241 lines
classPlayer = function()
{
this.init();
};
classPlayer.prototype = new MovieClip();
Object.registerClass("Player_Bike",classPlayer);
classPlayer.prototype.init = function()
{
var _loc1_ = this;
_loc1_._name = "player_bike";
Key.addListener(_loc1_);
_loc1_.xdir = _loc1_.ydir = _loc1_.xspeed = _loc1_.yspeed = 0;
_loc1_.onEnterFrame = _loc1_.movement;
Game.player.mc = _loc1_;
};
classPlayer.prototype.onUnload = function()
{
Key.removeListener(this);
};
classPlayer.prototype.onKeyDown = function()
{
var _loc2_ = this;
var _loc1_ = Key.getCode();
if(_loc1_ == 37)
{
_loc2_.xdir = -1;
}
else if(_loc1_ == 38)
{
_loc2_.ydir = -1;
}
else if(_loc1_ == 39)
{
_loc2_.xdir = 1;
}
else if(_loc1_ == 40)
{
_loc2_.ydir = 1;
}
};
classPlayer.prototype.onKeyUp = function()
{
var _loc1_ = this;
var _loc2_ = Key.getCode();
if(_loc2_ == 37)
{
if(_loc1_.xdir == -1)
{
_loc1_.xdir = 0;
}
}
else if(_loc2_ == 38)
{
if(_loc1_.ydir == -1)
{
_loc1_.ydir = 0;
}
}
else if(_loc2_ == 39)
{
if(_loc1_.xdir == 1)
{
_loc1_.xdir = 0;
}
}
else if(_loc2_ == 40)
{
if(_loc1_.ydir == 1)
{
_loc1_.ydir = 0;
}
}
};
classPlayer.prototype.movement = function()
{
var _loc1_ = this;
if(Game.player.mc != _loc1_)
{
Game.player.mc = _loc1_;
}
var xspeed;
var range;
if(_loc1_.xdir != 0)
{
if(_loc1_.xdir == -1)
{
range = _loc1_._x - 34;
speed = Math.max(-9,- range / 5);
_loc1_.xspeed = Math.max(speed,_loc1_.xspeed - 1);
}
else
{
range = 356 - _loc1_._x;
speed = Math.min(9,range / 5);
_loc1_.xspeed = Math.min(speed,_loc1_.xspeed + 1);
}
}
else if(_loc1_.xspeed > 0)
{
_loc1_.xspeed = Math.max(0,_loc1_.xspeed - 1);
}
else
{
_loc1_.xspeed = Math.min(0,_loc1_.xspeed + 1);
}
if(_loc1_.ydir != 0)
{
if(_loc1_.ydir == -1)
{
if(_loc1_.yspeed > -10)
{
_loc1_.yspeed = Math.max(-10,_loc1_.yspeed - 1);
}
}
else if(_loc1_.yspeed < 5)
{
_loc1_.yspeed = Math.min(5,_loc1_.yspeed + 0.8);
}
}
else if(_loc1_.yspeed > 0)
{
_loc1_.yspeed = Math.max(1,_loc1_.yspeed - 1);
}
else
{
_loc1_.yspeed = Math.min(1,_loc1_.yspeed + 1);
}
_loc1_._x = Math.max(34,Math.min(356,_loc1_._x + _loc1_.xspeed));
_loc1_._y = Math.max(34,Math.min(500,_loc1_._y + _loc1_.yspeed));
if(_loc1_.xspeed < 0)
{
var rotate = Math.max(-90,_loc1_.xspeed * Math.max(1,10 - Game.speed / 2));
}
else if(_loc1_.xspeed > 0)
{
var rotate = Math.min(90,_loc1_.xspeed * Math.max(1,10 - Game.speed / 2));
}
else if(_loc1_.xspeed == 0)
{
var rotate = 0;
}
_loc1_._rotation = rotate;
var _loc3_ = _loc1_._parent.effect;
_loc3_.count = _loc3_.count + 1;
_loc1_.count = _loc1_.count + 1;
if(_loc1_.count % 3 == 0)
{
var _loc2_ = _loc3_.attachMovie("smoke","s" add _loc3_.count,_loc3_.count);
_loc2_._x = _loc1_._x + (random(20) - 10);
_loc2_._y = 20 + _loc1_._y + (random(10) - 5);
_loc2_._xscale = _loc2_._yscale = random(50) + 50;
}
_loc1_.check();
};
classPlayer.prototype.check = function()
{
var _loc2_ = this;
var _loc3_ = undefined;
for(var n in Game.block.holder)
{
var _loc1_ = Game.block.holder[n];
_loc3_ = false;
if(_loc1_.block != undefined)
{
if(_loc2_.block.hitTest(_loc1_.block))
{
_loc3_ = true;
}
}
else if(_loc2_.block.hitTest(_loc1_))
{
_loc3_ = true;
}
if(_loc3_)
{
if(_loc1_.type == 0)
{
if(_loc1_.pos != undefined)
{
Game.block.available[_loc1_.pos] = false;
}
Game.player.score += _loc1_.bonus;
snd.play("snd_get");
}
else if(_loc1_.type == 1)
{
_loc2_.hit();
}
else if(_loc1_.type == 2)
{
_loc1_._parent.snakeCount -= 1;
_loc2_.hit();
}
else if(_loc1_.type == 3)
{
_loc1_._parent.bikeCount -= 1;
_loc2_.hit();
}
removeMovieClip(_loc1_);
}
}
};
classPlayer.prototype.hit = function()
{
var _loc1_ = this;
Key.removeListener(_loc1_);
_loc1_.gotoAndStop(2);
snd.play("snd_crash");
delete _loc1_.onEnterFrame;
Game.player.life -= 1;
if(Game.player.life > 0)
{
_loc1_.hitCount = 50;
_loc1_.xdir = _loc1_.ydir = _loc1_.yspeed = _loc1_.xspeed = 0;
Game.speed = 0;
Game.pause = true;
_loc1_.onEnterFrame = function()
{
var _loc1_ = this;
if(_loc1_.hitCount > 0)
{
_loc1_.hitCount -= 0.5;
_loc1_._alpha = 100 - _loc1_.hitCount % 5 * 20;
}
else
{
snd.play("snd_start");
_loc1_.gotoAndStop(1);
Game.pause = false;
Key.addListener(_loc1_);
_loc1_.onEnterFrame = _loc1_.movement;
}
};
}
else
{
_loc1_.gotoAndStop(2);
Game.End();
}
};